﻿using Architecture.Domain;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Traceability.Domain;
using Traceability.Domain.BreedDomain;
using Traceability.Domain.DeepProcessingDomain;
using Traceability.Domain.SlaughterDomain;
using Traceability.Domain.SupplierDomain;

namespace Architecture.Repository
{
    /// <summary>
    /// 上下文
    /// </summary>
    public class EFCoreContext : DbContext
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="options">上下文</param>
        public EFCoreContext(DbContextOptions options) : base(options)
        {
        }

        /// <summary>
        /// 用户
        /// </summary>
        public DbSet<UserInfo> UserInfos { get; set; }

        /// <summary>
        /// 省
        /// </summary>
        public DbSet<Province> Provinces { get; set; }

        /// <summary>
        /// 市
        /// </summary>
        public DbSet<City> Cities { get; set; }

        /// <summary>
        /// 县
        /// </summary>
        public DbSet<County> Counties { get; set; }

        /// <summary>
        /// 角色
        /// </summary>
        public DbSet<Role> Roles { get; set; }

        /// <summary>
        /// 用户角色
        /// </summary>
        public DbSet<UserInfoRole> UserInfoRoles { get; set; }

        /// <summary>
        /// 菜单
        /// </summary>
        public DbSet<Menu> Menus { get; set; }

        /// <summary>
        /// 菜单角色
        /// </summary>
        public DbSet<MenuRole> MenuRoles { get; set; }

        /// <summary>
        /// 请假表
        /// </summary>
        public DbSet<RequestForLeave> RequestForLeaves { get; set; }




        /// <summary>
        /// 养殖表
        /// </summary>
        public DbSet<Breed> Breads { get; set; }

        /// <summary>
        /// 免疫表
        /// </summary>
        public DbSet<Traceabilities> Traceabilities { get; set; }

        /// <summary>
        /// 屠宰表
        /// </summary>
        public DbSet<Slaughter> Slaughters { get; set; }

        /// <summary>
        /// 深加工表
        /// </summary>
        public DbSet<DeepProcessing> DeepProcessings { get; set; }

        /// <summary>
        /// 企业表
        /// </summary>
        public DbSet<Enterprise> Enterprises { get; set; }

        /// <summary>
        /// 图片表
        /// </summary>
        public DbSet<Pictures> Pictures { get; set; }

        /// <summary>
        /// 商品表
        /// </summary>
        public DbSet<Shopping> Shoppings { get; set; }

        /// <summary>
        /// 商品名称表
        /// </summary>
        public DbSet<ShoppingName> ShoppingNames { get; set; }

        /// <summary>
        /// 添加剂
        /// </summary>
        public DbSet<Additive> Additives { get; set; }

        /// <summary>
        /// 辅料
        /// </summary>
        public DbSet<AuxiliaryMaterials> AuxiliaryMaterials { get; set; }

        /// <summary>
        /// 包材
        /// </summary>
        public DbSet<PackagingMaterials> PackagingMaterials { get; set; }

        /// <summary>
        /// 原料
        /// </summary>
        public DbSet<RawMaterial> RawMaterials { get; set; }
    }
}
